Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Indexed Database API</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Indexed_Database_API"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Indexed_Database_API rootpage-Indexed_Database_API skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Indexed Database API</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Die <b>Indexed Database API</b>, kurz <b>IndexedDB</b>, ist eine <a href="Programmierschnittstelle" title="Programmierschnittstelle">Programmierschnittstelle</a>, die es Webseiten mittels <a href="JavaScript" title="JavaScript">JavaScript</a> erlaubt, strukturierte Daten im Browser zu speichern. Der Standard wird vom <a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a> entwickelt und ist in <a href="Webbrowser" title="Webbrowser">Browsern</a> ab 2011 implementiert.
</p>

<div class="mw-heading mw-heading2"><h2 id="Grundprinzipien">Grundprinzipien</h2></div>
<p>In einer <a href="Datenbank" title="Datenbank">Datenbank</a> IndexedDB können Webseiten dauerhaft Daten vom Nutzer beim Nutzer speichern und auslesen. Dabei steht jeder <a href="Domain_(Internet)" title="Domain (Internet)">Domain</a> ein eigener Speicherbereich zur Verfügung, ein Zugriff auf die von einer anderen Domain gespeicherten Daten ist gemäß der <a href="Same-Origin-Policy" title="Same-Origin-Policy">Same-Origin-Policy</a> nicht vorgesehen. Wie groß der verfügbare Speicher ist, hängt vom Browser ab, üblicherweise gibt es eine feste Grenze, die nicht überschritten werden kann, und eine weiche, ab der der Benutzer der Speicherung vorher zustimmen muss.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Die Speicherung erfolgt prinzipiell dauerhaft, Browser bieten jedoch ihren Benutzern die Möglichkeit, gespeicherte Daten zu löschen.<sup id="cite_ref-heise_2-0" class="reference"><a href="#cite_note-heise-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Die Datenbank ist eine <a href="Objektdatenbank" title="Objektdatenbank">Objektdatenbank</a>, in der Regel werden JavaScript-Objekte gespeichert, wobei einer der Einträge als <a href="Schl%C3%BCssel_(Datenbank)" title="Schlüssel (Datenbank)">Schlüssel</a> dient, über den die Daten wieder abgefragt werden können. Auch für andere Einträge der gespeicherten Objekte können <a href="Datenbankindex" title="Datenbankindex">Indizes</a> angelegt werden um eine effiziente Suche zu ermöglichen.
</p><p>Der Zugriff auf die Datenbank erfolgt <a href="Synchronit%C3%A4t" title="Synchronität">asynchron</a>: Der Client stellt eine Anfrage und registriert <a href="R%C3%BCckruffunktion" title="Rückruffunktion">Callback-Funktionen</a>. Sobald das Ergebnis der Anfrage feststeht, wird er über entsprechende <a href="Ereignis_(Programmierung)" title="Ereignis (Programmierung)">Ereignisse</a> darüber informiert, dabei werden im Erfolgsfall die angefragten Daten mitgeliefert, im Falle eines Fehlers der Grund. Beim Zugriff werden <a href="Transaktion_(Informatik)" title="Transaktion (Informatik)">Transaktionen</a> eingesetzt, um konsistente Daten auch dann zu gewährleisten, wenn beispielsweise durch zwei gleichzeitig geöffnete Tabs mehrere unabhängige Zugriffe auf die Datenbank erfolgen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementierungen">Implementierungen</h2></div>
<p>Die genaue Implementierung der Datenbank ist nicht festgelegt, es bietet sich jedoch ein <a href="B-Baum" title="B-Baum">B-Baum</a> an. Alle modernen Browser unterstützen den Standard, da dieser jedoch laufend weiterentwickelt wird, nicht immer in der aktuellen Version. In den Browsern von <a href="Microsoft" title="Microsoft">Microsoft</a> ist die Schnittstelle nur teilweise implementiert.<sup id="cite_ref-heise_2-1" class="reference"><a href="#cite_note-heise-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Bei älteren Browserversionen ist die API teilweise noch mit einem <a href="Herstellerpr%C3%A4fix" title="Herstellerpräfix">Herstellerpräfix</a> versehen.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Alternativen">Alternativen</h2></div>
<p><a href="Web_Storage" title="Web Storage">Web Storage</a> ist eine wesentlich einfachere Alternative zum Speichern von Daten. Diese bietet aber weniger Funktionen.
</p><p>Ein alternativer Standard, der eine Datenbank zur Verfügung stellt, die sich über <a href="SQL" title="SQL">SQL</a> abfragen lässt, war die Web SQL Database. Dieser Standard wurde allerdings nur in wenigen Browsern implementiert, sodass seine Weiterentwicklung zu Gunsten der IndexedDB eingestellt wurde.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Für ältere Browser kann die IndexedDB mittels <a href="Polyfill" title="Polyfill">Polyfills</a> simuliert werden.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Datenschutz_und_Privatsphäre"><span id="Datenschutz_und_Privatsph.C3.A4re"></span>Datenschutz und Privatsphäre</h2></div>
<p>Wie auch <a href="Web_Storage" title="Web Storage">Web Storage</a> ermöglicht diese dauerhafte Speicherung im Browser-Profil jeder Website, wiederkehrende Besuche vom selben <a href="Endger%C3%A4t" title="Endgerät">Endgerät</a> zu erkennen und unterschiedliche Nutzungsprofile zusammenzuführen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.w3.org/TR/IndexedDB/">Indexed Database API.</a> w3.org, Offizielle Spezifikation</li>
<li><a rel="nofollow" class="external text" href="https://developer.mozilla.org/de/docs/Web/API/IndexedDB_API">IndexedDB API.</a> <a href="MDN_Web_Docs" title="MDN Web Docs">MDN Web Docs</a> (deutsch).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite">Raymond Camden: <a rel="nofollow" class="external text" href="https://www.raymondcamden.com/2015/04/17/indexeddb-and-limits"><i>IndexedDB and Limits.</i></a> In: <i>raymondcamden.com.</i> 17.&nbsp;April 2015,<span class="Abrufdatum"> abgerufen am 29.&nbsp;März 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AIndexed+Database+API&amp;rft.title=IndexedDB+and+Limits&amp;rft.description=IndexedDB+and+Limits&amp;rft.identifier=https%3A%2F%2Fwww.raymondcamden.com%2F2015%2F04%2F17%2Findexeddb-and-limits&amp;rft.creator=Raymond+Camden&amp;rft.date=2015-04-17&amp;rft.language=en">&nbsp;</span></span>
</li>
<li id="cite_note-heise-2"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-heise_2-0">a</a></sup> <sup><a href="#cite_ref-heise_2-1">b</a></sup></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.heise.de/newsticker/meldung/Gefaehrdeter-Datenschutz-Firefox-loescht-lokale-Datenbanken-nicht-3835084.html"><i>Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht.</i></a> In: <i><a href="Heise_Online" class="mw-redirect" title="Heise Online">heise Online</a>.</i> 19.&nbsp;September 2017,<span class="Abrufdatum"> abgerufen am 2.&nbsp;Oktober 2017</span> (Gibt einen Überblick über den Stand der Implementierungen der verschiedenen Browser).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AIndexed+Database+API&amp;rft.title=Gef%C3%A4hrdeter+Datenschutz%3A+Firefox+l%C3%B6scht+lokale+Datenbanken+nicht&amp;rft.description=Gef%C3%A4hrdeter+Datenschutz%3A+Firefox+l%C3%B6scht+lokale+Datenbanken+nicht&amp;rft.identifier=https%3A%2F%2Fwww.heise.de%2Fnewsticker%2Fmeldung%2FGefaehrdeter-Datenschutz-Firefox-loescht-lokale-Datenbanken-nicht-3835084.html&amp;rft.date=2017-09-19">&nbsp;</span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://caniuse.com/#feat=indexeddb"><i>Can I use: IndexedDB.</i></a><span class="Abrufdatum"> Abgerufen am 29.&nbsp;März 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AIndexed+Database+API&amp;rft.title=Can+I+use%3A+IndexedDB&amp;rft.description=Can+I+use%3A+IndexedDB&amp;rft.identifier=https%3A%2F%2Fcaniuse.com%2F%23feat%3Dindexeddb&amp;rft.date=&amp;rft.language=en">&nbsp;</span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite">Ian Hickson: <a rel="nofollow" class="external text" href="https://www.w3.org/TR/webdatabase/"><i>Web SQL Database.</i></a><span class="Abrufdatum"> Abgerufen am 29.&nbsp;März 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AIndexed+Database+API&amp;rft.title=Web+SQL+Database&amp;rft.description=Web+SQL+Database&amp;rft.identifier=https%3A%2F%2Fwww.w3.org%2FTR%2Fwebdatabase%2F&amp;rft.creator=Ian+Hickson&amp;rft.date=&amp;rft.language=en">&nbsp;</span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite">Parashuram Narasimhan: <a rel="nofollow" class="external text" href="https://hacks.mozilla.org/2012/07/using-indexeddb-api-today-the-indexeddb-polyfills/"><i>Using IndexedDB API today – the IndexedDB polyfills.</i></a> In: <i>Mozilla Hacks.</i> 31.&nbsp;Juli 2012,<span class="Abrufdatum"> abgerufen am 29.&nbsp;März 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AIndexed+Database+API&amp;rft.title=Using+IndexedDB+API+today+%E2%80%93+the+IndexedDB+polyfills&amp;rft.description=Using+IndexedDB+API+today+%E2%80%93+the+IndexedDB+polyfills&amp;rft.identifier=https%3A%2F%2Fhacks.mozilla.org%2F2012%2F07%2Fusing-indexeddb-api-today-the-indexeddb-polyfills%2F&amp;rft.creator=Parashuram+Narasimhan&amp;rft.date=2012-07-31&amp;rft.language=en">&nbsp;</span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2026-01-06" href="https://de.wikipedia.org/wiki/?title=Indexed_Database_API&amp;oldid=263098707">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>